export interface BatchTableRowModelV2 {
  batchCode: string
  batchName: string
  certificateId: number
  certificateType: string
  certificateTypeCode: string
  click: boolean
  clickConfirm: boolean
  createTime: string
  creator: string
  delete: boolean
  detail: boolean
  edit: boolean
  finished: boolean
  id: number
  identifyApply: boolean
  identifyRegister: boolean
  identifyStatus: string
  identifyStatusCode: string
  noNeed: boolean
  pointStatus: string
  pointStatusCode: string
  receiveTime: string
  receiver: string
  solicitMethod: string
  solicitMethodCode: string
  solicitNum: string
  supplement: boolean
  temporary: boolean
  transferor: string
  updateTime: string
}

export interface BatchItemModel {
  backStatus: string
  backStatusCode: string
  delete: boolean
  detail: boolean
  detailId: number
  djStatus: string
  djStatusCode: string
  edit: boolean
  id: number
  identifyStatus: string
  identifyStatusCode: string
  imageIds: string
  itemName: string
  itemNum: string
  itemTypeName: string
  remark: string
  years: string
  _imageFiles: CommonFileModel[] // 代码运行时需要
}

export interface BatchDetailModel {
  batchReceivers: any[]
  batchManageReceivers: any[]
  fileIds: string
  batchCode: string
  certificateId: number
  certificateType: string
  certificateTypeCode: string
  clueId: number
  createTime: string
  creator: string
  creatorId: number
  delFlag: number
  depositPeriod: string
  endTime: string
  id: number
  identifyStatus: string
  identifyStatusCode: string
  name: string
  pointStatus: string
  pointStatusCode: string
  receiveTime: string
  receiver: string
  remark: string
  solicitMethod: string
  solicitMethodCode: string
  solicitNum: number
  startTime: string
  transferor: string
  transferorPhone: string
  updateTime: string
  modifyTime: string
}

export interface BatchItemDetailModel {
  appearance: string
  batchId: number
  binding: string
  clueId: number
  clueItemId: number
  collectTypeCode: string
  collectTypeName: string
  createdTime: string
  deliveryUnit: string
  depositTerm: string
  endDate: string
  fileIds: string
  fileList: CommonFileModel[]
  fullCode: string
  id: number
  imagesList: CommonFileModel[]
  imgIds: string
  itemCode: string
  itemName: string
  itemNum: number
  itemTypeCode: string
  itemTypeName: string
  language: string
  materialQuality: string
  notes: string
  press: string
  receiveTime: string
  receiveUser: string
  specifications: string
  startDate: string
  supervisor: string
  transferUser: string
  transferUserPhone: string
  updatedTime: string
  years: string
}

export interface CommonFileModel {
  createdBy: string
  createdTime: string
  id: number
  name: string
  path: string
  size: string
  type: string
  updatedBy: string
  updatedTime: string
}

export interface BatchIdentifyItemModel {
  subItemCode: string // 代码运行时需要
  subItemId: number // 代码运行时需要
  collectType: string
  imageIds: string
  itemCode: string
  itemId: number
  itemName: string
  itemNum: number
  itemType: string
  remark: string
  subItems: BatchIdentifyItemModel[]
  transferUser: string
  years: string
  _imageFiles: CommonFileModel[] // 代码运行时需要
}

const api: ApiConfig = {
  list: {
    method: 'GET',
    url: '/collection/mntn/batchManageList'
  },
  save: {
    method: 'POST',
    url: 'collection/mntn/addBatchManage'
  },
  update: {
    method: 'POST',
    url: '/collection/mntn/updateBatchManage'
  },
  delete: {
    method: 'POST',
    url: 'collection/mntn/delete'
  },
  djItemsList: {
    method: 'GET',
    url: '/collection/item/djItemsList'
  },
  exportBatch: {
    method: 'GET',
    url: '/collection/mntn/exportBatch',
    responseType: 'blob'
  },
  detail: {
    method: 'GET',
    url: 'collection/mntn/batchManageDetail'
  },
  batchItems: {
    method: 'GET',
    url: 'collection/mntn/batchItems'
  },
  cres: {
    method: 'GET',
    url: '/collection/baseDonateCertificate/listByBatchId'
  },
  deleteBatchItems: {
    method: 'POST',
    url: 'collection/mntn/deleteClueItem'
  },
  batchItemDetail: {
    method: 'GET',
    url: 'collection/clueCollectingItems/infoById/:id'
  },
  withoutIdentify: {
    method: 'POST',
    url: '/collection/mntn/withoutIdentify'
  },
  saveOrUpdateBatchItem: {
    method: 'POST',
    url: 'collection/mntn/saveOrUpdateItem'
  },
  clueList: {
    method: 'GET',
    url: '/collection/clueManage/listOptions'
  },
  identifyItems: {
    method: 'GET',
    url: 'collection/mntn/identifyItems'
  },
  downloadTemplate: {
    method: 'GET',
    url: 'collection/mntn/downloadTemplate',
    responseType: 'blob'
  },
  importCollectionItmes: {
    method: 'POST',
    url: '/collection/mntn/importCollectingItems',
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  }
}

export default api
